The present invention relates generally to a storage controlling apparatus and, more particularly, to a storage controlling apparatus to control a disk storage device having a rotary type storage medium such as a floppy disk, a magnetic disk, an optical disk and a magneto-optic disk.
Further, the present invention relates generally to a method of controlling a disk storage device and, more particularly, a method of controlling the disk storage device having a rotary type storage medium such as floppy disk, a magnetic disk, an optical disk and a magneto-optic disk.
Moreover, the present invention relates generally to a method of managing compressed data and, more particularly, a method of managing compressed data in a disk storage device having a rotary type storage medium such as a floppy disk, a magnetic disk, an optical disk and a magneto-optic disk.
With an advancement of software and a spread of multimedia, the data in a variety of forms such as images, voices, fonts, etc. are dealt with. Then, a disk storage device having a larger storage capacity is demanded for storing such data.
Successive introductions of the disk storage devices having large storage capacities are not economical, and a change in the system involves a loss of time, which is not an ignorable aspect.
Then, there is developed a technology of apparently increasing the capacity of the disk storage device by compressing the data (hereinafter simply expressed by a compression) instead of an augment in the capacity of the disk storage device. This data compression is conducted by use of software on one hand and by use of hardware on the other hand.
The software-assisted compression is actualized as one function of. e.g., an OS (Operating System). Then, when an application outputs an item of write data, the data is automatically compressed and recorded on a disk recording device.
On the other hand, the hardware-assisted compression is actualized as one function of an apparatus interposed between a host (computer, etc.) and the disk recording device. Such an apparatus is termed a in the present specification.
According to this storage controlling apparatus, the write data outputted from the host is compressed and written (recorded) to the disk storage device. A record position of the write data after being compressed is, however, normally different from a write position designated from the host.
It is because a data length of the post-compression write data is normally smaller than a data length of the write data outputted from the host. Therefore, if the post-compression write data is recorded in the write position designated from the host, an unused record area is generated, with the result that the disk storage device is not effectively employed.
Then, it is required that the disk storage device be effectively used by recording the compressed data in a position different from the write position designated from the host. This kind of technique is called a in the present specification.
For example, a CFS (Cluster File System), an LFS (Log File System), a fixed mapping system, etc., are known as a compressed data management.
Based on the CFS, one or more pieces of write data are assembled into one item of data and thereafter compressed, thereby generating the data known as a compressed segment. Then, these compressed segments are classified according to sizes (data lengths) thereof. Subsequently, the compressed segments each having the same size are recorded on the disk recording device, thus managing the compressed data. Note that a size of the compressed segment serves to determine which area on the disk recording device to record the compressed segment.
According to the LFS, each time the data is updated, the updated data is written to a rearmost area on the disk storage device that is now used, and the pre-updating compressed data is invalidated. Then, cleaning (rearrangement) such as a garbage collection, etc. is executed for a null time, and the invalid data extending from the head down to the rearmost area are compacted, thus managing the compressed data.
According to the fixed mapping system, the compressed data are managed by making use of a mapping table created in accordance with (preset) stages of compression ratios of the compressed data. The fixed mapping system requires an exceptional process for the data compressed at a compression ratio under the set compression ratio. The exceptional process may be a process of writing the data having an unexpected data length in an area secured otherwise.
In the case of the above software-assisted compression, a CPU time consumes for the compression processing, resulting in such a defect that an extra load is applied on the CPU.
On the other hand, in the case of the hardware-assisted compression, though no extra load is applied on the CPU, the following problems arise.
To start with, the CFS has a possibility in which a seek happens many times because of a record position on the disk storage device being different per compressed segment, and a reading/writing performance declines. Further, when the area for recording the compressed segment having a given size (data length) is full of the compressed segments, the problem is how the compressed segments of the same size are recorded.
Next, the LFS presents a problem in which a usability remarkably declines due to a temporary inaccessibility from the host during the cleaning operation.